


igneous drip

by Moulinet



Category: Kingdom Hearts
Genre: Fluff and Humor, Fluff and Smut, Hand Jobs, M/M, Masturbation, Porn with Feelings, SoRoku Discord Presents
Language: English
Status: Completed
Published: 2019-12-16
Updated: 2019-12-16
Packaged: 2021-02-25 22:40:50
Rating: Explicit
Warnings: No Archive Warnings Apply
Chapters: 1
Words: 5,518
Publisher: archiveofourown.org
Story URL: https://archiveofourown.org/works/21813085
Author URL: https://archiveofourown.org/users/Moulinet/pseuds/Moulinet
Summary: A calm, waiting ember, hidden behind cerulean blue. A spark resting in Sora's chest, itching to spread like wildfire and consume him from the inside out. But it started with blue and would end with it, too.
Relationships: Roxas & Sora (Kingdom Hearts), Roxas/Sora (Kingdom Hearts)
Kudos: 69





	igneous drip

Out of all the magical spells Sora could successfully wield, fire was his favorite. It was the easiest spell to understand. Throughout all of his adventures, despite the setbacks and loss of power, fire was always one of the first spells he got the hang of. The key to using magic -- according to Donald and later on Aqua -- was understanding the base element. All of its strengths, weaknesses, dangers, and utility. Fire was essential, a strong offensive spell that saved Sora’s life more times than he could count. He _loved_ fire.

And he loved it even more now as Aqua shot another ball of fire right past Roxas’ left shoulder, nearly singeing his hair. He didn’t get hurt by it, but being so close to the heat caused sweat to drop down his face and neck. He was breathing heavily, and Sora couldn’t take his eyes off of him during the training session.

He, Kairi, and Roxas were staying at the Land of Departure for a few days to work on improving their magic. Kairi and Roxas needed the extra practice and Sora came along to polish his technique and improve his gravity magic. The Keyblade Master exam was coming up again and it’d been a while. Sora was thinking of trying again.

Aqua aimed another fireball and Roxas dodged in the nick of time, speeding forward to close the distance between himself and Aqua. His dark blonde hair moved with the wind and Sora’s breath caught in his throat.

“Are you actually going to take a drink?”

Sora blinked, looking to his right at Kairi. She was pointing to the water bottle he held in his hands. He’d uncapped it and had been sitting with it pressed against his lips for… he didn’t want to know how long. Sora quickly took a drink and capped it again, smiling sheepishly before looking back out at the fight.

Kairi laughed and Sora _would’ve_ died if he hadn’t been so focused on the way Roxas lifted his arm and wiped some sweat off his forehead. Sora leaned back further onto the steps they were sitting on, watching the two keyblade wielders chase each other across the forecourt.

“You’re being painfully obvious.”

“Kairi, not now,” Sora told her, not taking his eyes off of Roxas and the way he swung Oathkeeper and Oblivion so masterfully. His eyebrows were furrowed and his jaw was clenched in determination and that expression was so _beautiful_ when it wasn’t aimed at Sora. Hell, even when it _was_ aimed at Sora, it was beautiful. _**Roxas**_ was beautiful, no matter the expression or--Okay, he was being painfully obvious but he couldn’t help it!

“You can make fun of me _after_ this fight,” Sora finished, because he’d meant to say all that at once but he got distracted.

Kairi laughed again but didn’t say anything more. They both watched Roxas and Aqua in their deadly dance of what was supposed to be a simple spar but had changed into something else entirely. Aqua kept using magic, seeking to make Roxas use his own, but he still had trouble using anything besides light and darkness. He’d conjured lightning once, but Aqua wanted to draw forth fire, seeing as how that was a basic element that carved the path for the others. Sora couldn’t help but feel that Roxas wouldn’t learn magic in the traditional sense. Maybe they should start with water or aero first.

“Hey, Sora!”

Sora refocused quickly, blinking as Roxas and Aqua had decided to take a quick break. Roxas was waving at him and then he stabbed his keyblades into the ground. He took off his jacket and Sora’s mind went blank.

“You mind holding this for me?” Roxas called, and didn’t wait for a response. He tossed over his jacket and Sora jumped up, catching it before it touched the ground. Holding it carefully in his arms, he looked down at the white jacket with a checkerboard pattern. It was warm.

“Thanks!” Roxas said with a friendly wave before picking up his blades again. With his jacket off, the black tank top he wore underneath was fully visible. As were his arms. Sora stared wide-eyed as the fight resumed. He stumbled back onto the steps, one hand holding his water bottle and the other holding Roxas’ jacket.

Kairi whistled beside him and Sora wondered when she’d learned to do _that_. Riku was the only one between the three of them that could whistle. Or… _had_ been. “He’s been building up some muscle, hasn’t he?” Kairi observed, pointing it out just to spite him.

Sora made some kind of noise of acknowledgement. Not quite noncommittal, more… squeaky and pathetic sounding. Aqua kept using fire spells with thunder weaved in and Roxas continued to rely on his speed, obtaining the advantage whenever he got within range of her. Sweat dripped down his shoulders, his biceps, his arms. Sora watched him block one of Aqua’s attacks with his blades, all other thoughts leaving his mind. His throat got dry. All of the water in his body must’ve moved to his hands, because his palms were too sweaty. He felt like he’d competed in a tournament instead of just sitting here, watching his crush spar.

Sora bit his lip, bunching up Roxas’ jacket in his hand. “I’m gonna get another water.”

Kairi snorted. She raised her own water bottle to her lips. “Yeah, you look like you need it.”

Affronted, Sora narrowed his eyes at Kairi as he stood and walked up the steps into the castle. She laughed at his misfortune and it didn’t stop until Sora closed the large and heavy doors behind him.

The pristine floor always threw him off when he entered the castle. Everything was so perfectly spotless, so gold and brown with light reflecting perfectly off of every surface. Sora walked down the long corridor, taking a deep breath as he got a break from the heat outside. He looked down at the jacket he held, precious to Roxas in what it symbolized, how it completed his look. It was slightly damp with sweat.

Sora hesitated. Instead of taking two lefts to reach the kitchen, he climbed the stairs and took a right, heading for the guest rooms. He raised the jacket to his eye level, feeling the fabric with his fingers, his heart pounding in his chest. He couldn’t stop thinking about him; panting from using his speed, sweat running down the back of his neck, deep blue eyes shining with the light of the evening sun.

Sora’s hand was shaking when he turned the doorknob leading to the room he was staying in. He went inside and closed the door behind him quickly. He tossed his empty water bottle somewhere in the room, uncaring about it as he held Roxas’ jacket with both hands. Again, he hesitated, wondering if what he was about to do was weird, if it crossed a line, but his body was alit with fire. A curiously powerful flame curled in his stomach, spreading as all flames do to every inch of his body. Sora fisted Roxas’ jacket and brought it to his face, taking a deep breath of a scent he’d only been allowed to indulge in during hugs or quick seconds of contact.

Sora breathed in sweat, shampoo, the evening breeze, fire, all of the smells that made up Roxas in one perfectly wrapped bundle. He inhaled again, leaning back against the door as he shuddered with how potent it was, how close he was but still so far. The hesitance in his chest turned to indulgence, which led to enjoyment as Sora allowed his imagination to run wild. Roxas breathing heavily as he had been, bangs sticky with sweat, beautifully blue eyes half-lidded as he looked up at Sora. Roxas, arms wrapped tight around him, pulling Sora closer with whispers of his name. Roxas, cupping his face, staring up at him with that shy smile Sora loved so much.

Sora’s knees nearly buckled under the weight of his fantasies. Another inhale, his mind dizzy with images of Roxas, and as he exhaled, he laughed shakily. His right hand eased down his chest, unbuckling his belt and dipping in past the waistband of his pants to touch his cock. As soon as his fingers wrapped around the base to pull it free, he _moaned_ , but Roxas’ jacket was there to stifle the noise, soaking it up and allowing Sora to be as loud as he pleased.

What would it feel like to run his fingers through dark gold tresses? If he pulled on them, what kind of face would Roxas make? What kind of sounds? Sora imagined them, quick gasps of air, deep breaths, Roxas’ mouth open, hot breath against Sora’s cheek. How loud would he be? _Fuck_ , Sora hoped as loud as possible, vocal and desperate and beautiful above him.

Sora wanted to make him feel incredible, to find each and every place that made Roxas come undone, to learn his body inside and out. He wanted to make Roxas feel good and he wanted to watch as it happened, lost in the reactions and responses that Roxas gave to him in turn.

He stroked himself, one slow rub that had him leaning his head back against the door. Sora circled his thumb along the tip of his cock, imagining Roxas’ tongue there, flicking out to taste him. He bucked his hips into his own hand, stifling another moan in Roxas’ jacket as he pictured Roxas on his knees, taking him in his mouth, blue eyes staring up at him.

“F- _fuck_ …” Sora muttered, pulling his face away to breathe properly. He felt so hot and every breath he took to regulate his temperature wasn’t enough to calm him. How could he stay calm when he saw Roxas when he closed his eyes? When he envisioned them together, hands intertwined, and Sora kissing and licking at his neck?

Sora sped up, twisting his grip as he reached the base of his dick. The palm of his hand became wet with precum when he reached the tip. He gasped, spreading his legs as much as he could. It was so hot; he wanted to rid himself of his clothes but he didn’t want to lose the image in his mind. He was trapped in the moment, mesmerized by a trick of the light, a dazzling sunset that he couldn’t look away from.

His mouth was so dry, sweat dripping down his neck and chest. A moan was torn from his throat, heavy with gratification. He opened his mouth, needing more air as his breaths became pants. He arched his back against the door, breath hitching as he sped up his stroke just as he reached the head of his dick. He circled his thumb around the slit again, a spurt of precum being his reward. Sora gratefully accepted it, using it as lubrication to increase his strokes, closing his eyes and losing himself in the smell of Roxas, _Roxas_ , _**Roxas**. _

But no matter how tightly he held Roxas’ jacket or how deeply he inhaled, ripping the scent from the cloth, it wasn’t enough. He wanted something more substantial. He wanted the sultry fantasies he visualized to be real. The deep timbre of Roxas’ voice, roughly low and perfect, a song that matched the tune in Sora’s heart. He wanted to hear it. He wanted Roxas -- desperate, just as Sora was now -- above him, looking at him with want in his eyes. He wanted Roxas to feel the same things he was feeling now, a deep longing, something consuming and aching that Sora couldn’t be free of. A confusing yet amazing feeling that could only be described as love.

Sora wanted to kiss Roxas and be kissed back.

There was a knock on the door behind him.

“Sora?” It was Roxas.

Of _course_ it was Roxas.

Sora jumped away from the door, but then pressed back quickly against it. He didn’t want Roxas to open it. He dropped Roxas’ jacket on the floor and tried to tuck himself back in. Shit, he hadn’t said anything. He needed to say something. If he didn’t answer soon, it’d be even more awkward.

“Uh--” Sora quickly cleared his throat, wanting more normal instead of ‘blissed the fuck out and near orgasm.’ “Erm, uh, y-yeah? Yeah?”

He was doing great.

“Uhm…” Roxas did not sound convinced, but he was a good sport and didn’t comment on it. “I came by for my jacket? I asked you to hold it and you--”

“Oh!” Sora said, feigning surprise. He knew Roxas was here for his jacket. It was the only reason that made sense. He quickly bent over and picked it up with both hands. His right was covered in precum. Sora did not think about that for long. “Right! Y-yeah, I got it.”

“Mm.”

A curious sound to make. Sora bit his lip, trying to zip up his pants and adjust his dick so his boner didn’t show. Ugh, he’d just have to open the door partially. He didn’t have time.

Sora turned the doorknob and opened it a fraction, peaking out and hoping that the flush on his cheeks was unnoticeable and that Roxas would think the profuse amount of sweat on his skin was from the heat outside or. Something.

But Roxas was observant, and Sora could tell that he knew something was going on as soon as he opened the door. He took a second, _just_ a second to admire Roxas up close. Still sweaty, tired, jacketless. Arms out, biceps looking nice, bangs sticking to his forehead, face flushed with exertion, eyes ravishingly bright and beautiful, neck--

“Sora,” Roxas said, catching his attention. He had a knowing look on his face, but Sora wasn’t sure what he _knew_. “My jacket?”

“Yeah, sorry,” Sora muttered, laughing nervously, trying to play up the facade of being a clueless airhead instead of stupidly horny. He eased out his hand from the door and offered Roxas his jacket back, careful to not open it more than what was necessary.

Roxas took it, held it, looked down at it and then back to Sora with a raised brow. “You okay?”

“Yeah!” No. “I’m just, y’know, a little dehydrated. I stayed out there for too long.”

“Mmm.”

“Yeah…”

Awkward.

Sora wasn’t sure what to do. Roxas wasn’t leaving and his eyes were narrowed. He looked pretty but Sora wasn’t sure how to back out of the conversation. It was so awkward talking to the person he’d been masturbating about.

“So…” Sora cleared his throat again. He began to close the door, ducking back inside slowly. “I’ll just… uh…”

“I heard something on my way to your room.”

The door smacked Sora on the cheek, his hand jolting at Roxas’ words. Roxas’ brows furrowed in concern, but Sora couldn’t appreciate it or dismiss it. His brain was frantically trying to come up with believable excuses, something that would make sense and be applicable and not cause Roxas to worry about him or something.

Or he could play innocent.

“What was it?” Sora asked, his smile trembling. He kept it up, though. He wasn’t sure what else to do. He wore his heart on his sleeve and Roxas could always read him so easily.

Roxas didn’t answer right away. He placed his hand on the doorknob, gripping it tightly. With his strength, Sora couldn’t shut the door. He was stuck in this conversation with Roxas and he wasn’t going to let Sora leave until he got answers.

Which wasn’t good because Sora’s dick was half-hard and his pants were unzipped.

“It sounded like…” Roxas looked up, trying to find a word that fit. “A groan or something.”

Sora’s mouth was impeccably dry. The door wouldn’t budge. Play innocent.

“A groan? I don’t know what it was. I didn’t hear anything,” Sora told him, smiling sweetly and brightly.

“It sounded like it came from your room.”

Sora tried to close the door again. Roxas would not let him.

“D-did it?”

“And it sounded like…” Roxas moved closer, one eyebrow raised as he looked Sora in the eye. “ _Your_ voice.”

“Uh--”

“Saying _my_ name.”

Well…

Fuck.

It was _entirely_ possible that during Sora’s impromptu masturbation fixation… he uttered Roxas’ name a little too loudly. But it flowed so easily from his tongue, slipping past his lips into the air and alleviating some of the need that pulsated through Sora’s body. He couldn’t help that, even if he should’ve been more conscious of it.

There was no running away now, no hiding, no playing innocent. Sora’s hand shook on the doorknob, wondering what to say next, which route to take.

“And… what if I did?” He asked, licking his lips, staring downward at the white and gold tile of the hallway. “What then?”

The suspiciously confused cloud that had hung over Roxas since Sora had opened the door all but dissipated at the admission, and Roxas’ grip on the doorknob lessened. He smiled softly, an air of placidity surrounding his person as he looked at Sora. “Can I come in?”

Sora had never opened a door so quickly.

* * *

“What were you thinking about?”

Sora blinked, looking stunned as he regarded Roxas standing in the middle of the room. He’d taken Sora’s hands after coming inside. Sora’s brain hadn’t quite caught up to that very real, very _nice_ fact. “I… _you_ , of course. That’s why I--”

“No, I meant,” Roxas huffed, pulling on Sora’s hands and leading them both to the bed. “What specifically were you thinking about? What was I doing?”

Roxas stood in front of the bed. Sora stood in front of Roxas. Their hands were intertwined and they were casually discussing his masturbation fantasies as if it were normal. Their hands were so sweaty.

“You were…” Sora swallowed, looking to the side of Roxas’ head instead of into his brilliant eyes. “You were sucking me off.”

“Oh,” Roxas said, eyes widening for a second before he mellowed out again, laid-back and gorgeous as sunlight streamed in from the windows. He sat down on the foot of the bed, holding Sora’s hands loosely in his own. He smiled up at Sora, easy-going and calm and Sora wondered _how_ he could be that way considering the topic.

Roxas scooted back on the bed, pulling Sora toward him. “Can you… keep going?” He asked, letting go of Sora’s hands once he kneeled on the bed. “I want to watch.”

Sora nearly passed out from how quickly his face got heated.

He ended up in Roxas’ lap, his back against Roxas’ chest as he shimmied out of his pants just a bit and freed his, shockingly, still half-hard cock. Roxas wrapped his arms around Sora’s middle, placed his chin on Sora’s shoulder and watched, transfixed, as Sora gripped his own cock and gave it a stroke.

Roxas hummed.

Sora blushed madly.

He was nervous as hell. _Roxas_ was watching him _masturbate_. His hand shook around his cock, nerves battling against his arousal. Roxas fingers touched his stomach, warm, sweaty hands brushing against his skin. His face was so close to Sora’s. His voice was right in Sora’s ear. Roxas moved his right hand and it looked like he was going to touch Sora’s cock, but it extended out further and higher, aimed at the door.

Oblivion materialized and a light emitted from the tip of the blade. It shot out toward the door and a soft clicking sound was heard. Roxas squeezed him tight. “Don’t want any interruptions,” he clarified, dismissing his keyblade.

Sora nodded silently, not trusting his voice. They both knew that everyone staying in the Land of Departure was a keyblade wielder and could open the door if they wanted, but they’d _hear_ it beforehand this way.

Roxas settled again, taking his previous position. His hands fiddled with Sora’s tank top, moving it aside so that he could feel skin instead of cotton. It was distracting in a very nice, surreal way.

“You can keep going,” Roxas urged him gently, turning his head slightly to nose Sora’s cheek.

Sora’s hand was shaking so terribly it seemed as though he was freezing cold instead of sweltering hot. Roxas was here, behind him, watching him intently. Sora had only had a jacket before to fuel his daydreams, but now he had everything he wanted and more. He could smell Roxas, feel him, press back against him, talk to him. It was so much, it was so good compared to before. Sora closed his eyes and focused on that, on the fact that Roxas wanted to watch him. He wanted to see him, he wanted to know what Sora fantasized about him.

Sora’s heart swelled and he stroked himself slowly, wanting to build up the rhythm and work himself up. Each pass of his hand had him shaking in Roxas’ arms, keenly aware of Roxas’ hands trembling in the fabric of his tank top, of his breath hitching against Sora’s ear.

They were so close, so deliciously close, and Sora held tight to that, to Roxas’ heart beat against his back. He arched his back, his eyebrows furrowing as he lost himself in Roxas once again. It would be embarrassing later, when he looked back on it. When he thought about the way his left hand gripped Roxas’ thigh and squeezed, how he pushed back against Roxas, his hips moving back and forth as he thrusted into his own hand. His breaths quickened to pants. It was hot again, hotter than before with Roxas behind him. But it was hot in a _good_ way, in a way that only Roxas could make it.

Only Roxas made him feel this way, this dangerous, intensive heat that spread through him, encircling his heart and _squeezing_ it. Sora gasped, head falling back against Roxas’ shoulder, eyes shut tight.

He felt a hand on his dick that wasn’t his. Sora stopped, opening his eyes, taking gasping breaths as he looked down to see Roxas’ right hand covering his own. He could feel his ears burning as he turned to look at Roxas, eyes wide with a question he couldn’t voice.

Roxas looked mystified, staring down at Sora’s cock before lifting his gaze to Sora himself. He looked a bit sheepish, his lips turned upwards in an apologetic smile. “Sorry,” he whispered, and his face was as red as Sora imagined his was. “I wanted… I couldn’t help it. I can--”

“It’s fine!” Sora said quickly, his voice broken and dry. He cleared his throat to no avail. “You can… You can keep going.”

Roxas huffed out a short laugh at having his own words parroted back at him. He leaned closer to Sora, pressing their cheeks together as he began to stroke Sora’s dick. Slow at first, their hands moving together in sync. Then Roxas gradually sped up, and Sora removed his hand to place it on Roxas’ right thigh to brace himself. Just from watching, he’d been able to figure out how Sora liked it, when to twist his grip, the right time to touch the head, when to tease it. Sora smiled blissfully, putting his full weight against Roxas, who held him like he weighed nothing.

Roxas pressed his lips against Sora’s forehead lightly, an almost kiss. “Sora,” he breathed, his heart pounding against Sora’s back. “You’re _beautiful_.”

Sora’s breath hitched. He stuttered out a gasp, his eyes fluttering open to look at Roxas. He wanted to see the expression on his face. Roxas looked so captivated, so enthralled with what he was doing… and _who_ he was doing it to. “Roxas…”

Roxas’ hand faltered and he bit his lip. Sora could just barely see it through his half-lidded eyes. “Say my name again... please.”

“ _Roxas_ ,” Sora whispered without a second thought. He pressed closer, turning his head so his lips pressed against Roxas’ cheek. “Roxas, I’m…”

“I know,” Roxas whispered, moving his right hand faster. He looked at Sora, the way his hands shook against Roxas’ thighs, his quick breaths, the way his entire body jolted and jumped. Sora ached for it, a sweet red heat, filling him enough to burst. Thoughts, feelings, fantasies, and realities coalescing into something so consumingly wonderful that fear mixed with pleasure, the idea that it might be too much, too good to be possible. But Roxas was there, holding him tightly, kissing his cheek, stroking him quickly just the way he liked.

And Sora came, that complicated feeling spreading to all parts of him, inside and out. His love and need for Roxas set his heart on fire. Sora gave into it, letting those feelings wash over him as clenched his eyes shut tightly. A vehemently broken version of Roxas’ name was wrenched from his throat and Sora was only vaguely aware of Roxas whispering pieces of his name back to him, kissing his shoulder, continuing to stroke his dick with his own cum. It was so much, so much of what Sora had been wanting and needing for so long, and he had it all so suddenly.

Two more strokes, three, four, almost as if Roxas couldn’t stop. Sora shuddered in his arms, trying to calm himself and not get too worked up. His fingers curled, an itch forming at the base of his spine. He was torn between wanting Roxas to stop and wanting him to keep going.

Hesitantly, Roxas removed his hand, fingers dripping with wet cum. Sora opened his eyes and stared blankly, the reality setting in that it was _his_ cum coated on Roxas’ fingers, dripping down onto Sora’s pants. His ears burned.

They sat there together, breathing heavily. It had been so loud moments ago, the room filled with pants, moans, and whispers and now there was nothing, just heaving breaths and stillness. This was the moment, wasn’t it? The afterwards that always came sooner than it needed to.

Roxas moved behind him, a slight shifting that made Sora nervous. He kept his eyes downward, relishing in the sweet feelings for just a moment longer, just a bit more time until--

“Can I kiss you?” Roxas whispered, his voice shaking.

Sora inhaled sharply, eyes opening wide. His stomach flipped and his heart, which had been beginning to calm down, sped up again, that warm fire pooling in his chest. Somehow, Sora found the energy to begin to move. Possibly due to the adrenaline rushing through his veins, the post-orgasm euphoria that hadn’t faded away yet, or Roxas’ tone of voice. There was something there, and Sora wanted to see for himself what it was.

He turned in Roxas’ arms, grateful that Roxas got the hint to ease up in his hold and allow Sora to move freely. He was kneeling in front of Roxas now, and the expression on his face told a story that Sora took his time reading. Trepidation, a desiderating gaze aimed at Sora, blue eyes clouded over, bleary, stunning, perfect. Flushed cheeks and ears, lips slightly parted, breaths measured and quick. A relief… in the way his eyebrows furrowed, a sweet fondness in the way his lips curved upwards.

Sora reached forward, his hands cupping Roxas’ face, and he kissed him.

His lips were as hot as Sora felt. Had the fire spread to Roxas too, igniting every inch of his skin? It had to, because once their lips touched, Roxas wrapped his arms around Sora again, pressing against him incessantly. Sora pushed back, because he wanted this just as badly, and that thought bounced around in the back of his head as Sora opened his mouth and felt Roxas’ tongue against his own. Roxas wanted this, too. He wanted Sora just as much.

Slowly, he pushed Roxas back against the bed, laying on top of him. They adjusted themselves, settling against each other. Sora ran his fingers through dark blonde hair damp with sweat. Roxas ran his hands up Sora’s back. Their kisses were imperfectly perfect, sloppily beautiful, inefficiently proficient. A deep understanding ran through them. Their hearts and souls were forever linked. They intrinsically knew what the other needed and gave it willingly.

It was how Sora knew that Roxas was hard and wanting underneath him. It was how he knew to move his hips just so and pull on Roxas’ hair like he’d been wanting to. And Sora was gifted with sounds, so many beautiful sounds straight from Roxas’ lips. Soft whispers of Sora’s name, haggard groans, quick moans when Sora rolled his hips, the friction between them making Roxas lean his head back against the bed.

“Hahh… Sora,” Roxas uttered. His voice was rough and Sora shuddered in his arms, pulling back just a little to look him in the eyes, to watch his expression change with each movement of Sora’s hips.

He’d imagined this just moments ago, daydreaming about something he was sure wouldn’t come to be. But Roxas was here, writhing underneath him, scratching at Sora’s back as his breath hitched. Sora leaned downward and touched their foreheads together, his eyes half-lidded as he watched every detail of Roxas’ face. The twitching of his lips, the fluttering of his eyelashes, the furrow of his brow, his eyes focused and yet unfocused, blinded by arousal and pleasure.

Sora moved his left hand, sneaking it between them. He lifted his hips and moved to the side a little, leaning on his right hand for support as he unbuttoned Roxas’ pants and unzipped them.

Roxas fisted his hands in Sora’s shirt. “Y-you don’t have to…” he said, but his hands told a different story as they started to tug and pull, clearly wanting more.

Sora smiled and kissed just under Roxas’ eye. “I _want_ to,” Sora replied, meaning it with every part of his being. He wanted to. He wanted to make Roxas feel good, just as Roxas had wanted to make him feel good.

Roxas didn’t say anything else; he didn’t have to. A sheepish, abashed smile bloomed on his face and Sora’s heart skipped at the beauty of it. He leaned down and captured Roxas’ lips in a kiss, wanting to claim that piece of beauty for himself, to hold it in his heart, to keep it memorized in his heart and mind for the rest of his days. A smile just for him.

Once his fingers brushed against the base of Roxas’ dick, clumsily fumbling in his inexperience, Roxas’ expression changed quickly, eyes darkening with want, a pink tongue sweeping over his lips and making Sora shiver with need. He freed Roxas’ dick from his pants and started stroking it, inwardly marveling at the feel of it in his hand. Warm and thick, Sora stroked it as best he could given their position. The head was covered with precum and he used it as lubricant, speeding up his strokes as he glanced down to look at Roxas’ cock in his hand.

Hard and glistening with precum, Sora couldn’t take his eyes off of it. “Your dick is so pretty…” he breathed, feeling it twitch in his hand.

Roxas made a strangled noise, turning his head away from Sora to try and hide his blush. Sora followed him though, leaning over to kiss at his cheek and the side of his neck, a smile playing on his lips at Roxas’ embarrassment. He stayed there, face pressed close to Roxas, intent to watch him unravel just as Roxas had done to him. Sora peppered his neck and shoulder in kisses. He whispered Roxas’ name in time with his strokes. He breathed hot and heavy against his skin.

And Roxas responded in kind, quick breaths, hands splayed along Sora’s back, pulling them closer together, moving his head to kiss Sora and pulling away to moan his name.

Roxas came in Sora’s hand while looking into his eyes. A pretty moan fell from his lips, tumbled through the air, and landed in Sora’s heart.

Roxas moved forward without skipping a beat and kissed Sora again, moving his right hand into brown hair. Sora kissed him back, hand still stroking Roxas’ dick, causing him to moan into the kiss.

They moved again, Sora on top of Roxas, heart beats close together as one kiss led to another, and another. It was enough, but only for a second. They were sated, but greedy, wanting more and more, chasing after one another in an endless dance. But it felt good, the dance. The chasing. The hunger. It felt good and right.

When they parted for air, they smiled at one another. Their hearts spoke for them, beating together, pounding against one another in a rhythm to accompany their dance. Every heart was connected, but their hearts, their _connection_ was unlike anything anyone had ever shared with another person. It felt true and perfect in a way that Sora could only share with Roxas.

“Be mine?” Sora asked, breathless and loving as he fiddled with a strand of Roxas’ hair.

Roxas laughed, lips quirked up into a smile as he kissed Sora’s nose. “I always have been.”


End file.
